package com.matricula.model;
// Generated 9/12/2013 01:55:35 AM by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Especialidad generated by hbm2java
 */
@Entity
@Table(name="ESPECIALIDAD"
    ,catalog="matriculacetpro"
)
public class Especialidad  implements java.io.Serializable {


     private int idEspecialidad;
     private ResolucionDirectoral resolucionDirectoral;
     private String nombreEspecialidad;
     private String cicloEspecialidad;
     private Set modulos = new HashSet(0);
     private Set curriculaAnuals = new HashSet(0);

    public Especialidad() {
    }

	
    public Especialidad(int idEspecialidad, ResolucionDirectoral resolucionDirectoral) {
        this.idEspecialidad = idEspecialidad;
        this.resolucionDirectoral = resolucionDirectoral;
    }
    public Especialidad(int idEspecialidad, ResolucionDirectoral resolucionDirectoral, String nombreEspecialidad, String cicloEspecialidad, Set modulos, Set curriculaAnuals) {
       this.idEspecialidad = idEspecialidad;
       this.resolucionDirectoral = resolucionDirectoral;
       this.nombreEspecialidad = nombreEspecialidad;
       this.cicloEspecialidad = cicloEspecialidad;
       this.modulos = modulos;
       this.curriculaAnuals = curriculaAnuals;
    }
   
     @Id 
    
    @Column(name="idEspecialidad", unique=true, nullable=false)
    public int getIdEspecialidad() {
        return this.idEspecialidad;
    }
    
    public void setIdEspecialidad(int idEspecialidad) {
        this.idEspecialidad = idEspecialidad;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="RESOLUCION_DIRECTORAL_numResolucionD", nullable=false)
    public ResolucionDirectoral getResolucionDirectoral() {
        return this.resolucionDirectoral;
    }
    
    public void setResolucionDirectoral(ResolucionDirectoral resolucionDirectoral) {
        this.resolucionDirectoral = resolucionDirectoral;
    }
    
    @Column(name="nombreEspecialidad", length=90)
    public String getNombreEspecialidad() {
        return this.nombreEspecialidad;
    }
    
    public void setNombreEspecialidad(String nombreEspecialidad) {
        this.nombreEspecialidad = nombreEspecialidad;
    }
    
    @Column(name="cicloEspecialidad", length=45)
    public String getCicloEspecialidad() {
        return this.cicloEspecialidad;
    }
    
    public void setCicloEspecialidad(String cicloEspecialidad) {
        this.cicloEspecialidad = cicloEspecialidad;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="especialidad")
    public Set getModulos() {
        return this.modulos;
    }
    
    public void setModulos(Set modulos) {
        this.modulos = modulos;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="especialidad")
    public Set getCurriculaAnuals() {
        return this.curriculaAnuals;
    }
    
    public void setCurriculaAnuals(Set curriculaAnuals) {
        this.curriculaAnuals = curriculaAnuals;
    }




}


